<!DOCTYPE HTML>
<html lang="zh-cn">
<head>
    <meta charset="UTF-8">
    <META HTTP-EQUIV="pragma" CONTENT="no-cache">
    <META HTTP-EQUIV="Cache-Control" CONTENT="no-cache, must-revalidate">
    <META HTTP-EQUIV="expires" CONTENT="0">
    <title></title>
    <script type="text/javascript" src="../../js/commonCss.js"></script>
    <link rel="stylesheet" type="text/css" href="../../styles/common.css" />
    <style>
        .top-back{
            top:auto;
            margin-top: 15px;
            margin-bottom: 10px;
        }
    </style>
</head>
<body>

<div class="definewidth">
    <button type="button" class="btn btn-success top-back" id="backbtn">返回</button>
    <table id="table" class="table table-bordered table-hover m10"></table>
</div>

<script type="text/javascript" src="../../js/commonJs.js"></script>
<script type="text/javascript" src="../../js/jquery.formHelp.js"></script>
<script type="text/javascript" src="../../js/FileSaver.min.js"></script>
<script type="text/javascript" src="../../js/tableExport.min.js"></script>
<script type="text/javascript" src="../../assets/js/bui.js"></script>
<script type="text/javascript" src="../../assets/js/config-min.js"></script>
<script type="text/javascript">
    BUI.use('common/page');
</script>
<script type="text/javascript">

    $("#backbtn").click(function () {
        top.topManager.openPage({
            id : getQueryString('parentPageId'),
            isClose : true
        });
    });

    $('#table').bootstrapTable({
        height:top.frameHeight*0.7,
        url: ctx + '/estimate/queryProfit', //这个接口需要处理bootstrap table传递的固定参数
        method:'post',
        dataType: "json",
        cache: false,   //是否使用缓存，默认为true，所以一般情况下需要设置一下这个属性（*）
        contentType:"application/x-www-form-urlencoded; charset=UTF-8",   //post请求,content type默认设置为 text/plain,在服务端直接通过 @RequestParam参数映射是获取不到的。
        striped: true,      //是否显示行间隔色
        pagination: true,     //是否显示分页（*）
        singleSelect: true,  //单选
        sortable: false,      //是否启用排序
        sortOrder: "asc",     //排序方式
        pageNumber:1,      //初始化加载第一页，默认第一页
        pageSize: 10,      //每页的记录行数（*）
        pageList: [10, 25, 50, 100 ,'All'],  //可供选择的每页的行数（*）
        queryParamsType:'',  //默认值为 'limit' ,在默认情况下 传给服务端的参数为：offset,limit,sort
        //设置为 ''  在这种情况下传给服务器的参数为：pageSize,pageNumber
        queryParams : queryParams,    //前端调用服务时，会默认传递上边提到的参数，如果需要添加自定义参数，可以自定义一个函数返回请求参数
        sidePagination: "server",   //分页方式：client客户端分页，server服务端分页（*）
        responseHandler:function(res){
            //远程数据加载之前,处理程序响应数据格式,对象包含的参数: 我们可以对返回的数据格式进行处理
            //在ajax后我们可以在这里进行一些事件的处理
            dataRow = res.data.rows;
            return res.data;
        },
        onLoadSuccess:function () {

        },
        strictSearch: true,
        clickToSelect: true,    //是否启用点击选中行
        searchOnEnterKey: true,
        columns: [{
            title: '序号',  //标题  可不加
            width: 50,
            align: 'center',
            formatter: function (value, row, index) {
                var pageNumber = $('#table').bootstrapTable('getOptions').pageNumber;
                var pageSize = $('#table').bootstrapTable('getOptions').pageSize == 'All' ? 0 : $('#table').bootstrapTable('getOptions').pageSize;
                return (pageNumber-1) * pageSize+index+1;
            }
        },{
            field: 'projectCode',
            align: 'center',
            width: 100,
            title: '项目编号'
        },{
            field: 'projectName',
            align: 'center',
            width: 300,
            title: '项目名称'
        },{
            field: 'projectStatusName',
            align: 'center',
            width: 100,
            title: '项目状态'
        },{
            field: 'totalContractAmount',
            align: 'right',
            width: 130,
            title: '合同总金额',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'taxPaymentAmount',
            align: 'right',
            width: 100,
            title: '已收款',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'taxUnpaymentAmount',
            align: 'right',
            width: 100,
            title: '未收款',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'totalNonTaxAmount',
            align: 'right',
            width: 130,
            title: '不含税合同总金额',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'paymentAmount',
            align: 'right',
            width: 100,
            title: '已结转收入',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
            field: 'unpaymentAmount',
            align: 'right',
            width: 100,
            title: '未结转收入',
            formatter: function (value, row, index) {
                //格式化金额
                return formatMoney(value);
            }
        },{
                field: 'actualCost',
                align: 'right',
                width: 100,
                title: '已发生成本',
                formatter:function (value, row, index) {
                    return '<a class="page-action" href="#" role="button" title="'+row.projectCode+'项目成本" data-id="Estimate/actual/project/'+row.projectCode+'" data-href="Estimate/actual.html?projectName='+encodeURI(row.projectName)+'&projectId='+row.projectId+'&actualCost='+row.actualCost+'&type=project&parentPageId='+top.topManager.getPageId()+'">'+formatMoney(value)+'</a>';
                }
            },{
                title: '已实现利润',
                align: 'right',
                width: 100,
                formatter: function (value, row, index) {
                    //格式化金额
                    if(row.paymentAmount-row.actualCost < 0 ){
                        return '<span style="color:red">' + formatMoney(row.paymentAmount-row.actualCost) + '</span>';
                    }else{
                        return formatMoney(row.paymentAmount-row.actualCost);
                    }
                }
            },{
                field: 'needCost',
                align: 'right',
                width: 100,
                title: '预计尚需成本',
                formatter:function (value, row, index) {
                    if($('#groupValue').val()==''){
                        return '<a href="javascript:void(0);" onclick="loadModal(0,'+row.projectId+')" data-toggle="modal" data-target="#estimateModal">'+formatMoney(value)+'</a>';
                    }else{
                        return formatMoney(value);
                    }
                }
            },{
                field: 'totalCost',
                align: 'right',
                width: 100,
                title: '预计总成本',
                formatter: function (value, row, index) {
                    //格式化金额
                    return formatMoney(value);
                }
            },{
                field: 'profitCost',
                align: 'right',
                width: 100,
                title: '预计利润',
                formatter: function (value, row, index) {
                    //格式化金额
                    return formatMoney(value);
                }
            },{
            field: 'createDate',
            align: 'center',
            width: 100,
            title: '估算时间',
            formatter: function (value, row, index) {
                return $.myTime.UnixToDate(Number(value));
            }
        },{
            field: 'singDate',
            align: 'center',
            width: 100,
            title: '签订日期',
            formatter: function (value, row, index) {
                return $.myTime.UnixToDate(Number(value));
            }
        },{
            field: 'expectedFinalDate',
            align: 'center',
            width: 100,
            title: '预计终验日期',
            formatter: function (value, row, index) {
                return $.myTime.UnixToDate(Number(value));
            }
        }]
    });

    function queryParams(params){
        var projectIds = getQueryString('projectIds');
        return {
            pageNumber : params.pageNumber,
            pageSize : params.pageSize,
            projectIds:projectIds
        }
    }
</script>
</body>
</html>